home *** CD-ROM | disk | FTP | other *** search
/ Aminet 7 / Aminet 7 - August 1995.iso / Aminet / comm / tcp / AmiTCPsmtpd.lha / Smakefile < prev    next >
Makefile  |  1994-02-06  |  4KB  |  181 lines

  1. # $Id: Smakefile,v 1.6 1994/02/06 10:08:10 gwalter Rel $
  2. #
  3. # Smakefile for smtpd
  4. #
  5. # Copyright © 1993 Graham Walter
  6. #
  7. # $Log: Smakefile,v $
  8. # Revision 1.6  1994/02/06  10:08:10  gwalter
  9. # logger,lib include in the link
  10. #
  11. # Revision 1.5  1994/02/01  19:49:22  gwalter
  12. # Tidying up
  13. #
  14. # Revision 1.4  1993/12/24  15:07:17  gwalter
  15. # rmail.doc added to distribution
  16. #
  17. # Revision 1.3  1993/12/24  14:38:26  gwalter
  18. # New targets to automate distribution
  19. #
  20. # Revision 1.2  1993/12/21  09:42:03  gwalter
  21. # Reference to pathnames.h removed
  22. #
  23. # Revision 1.1  1993/12/21  09:32:33  gwalter
  24. # Initial revision
  25. #
  26.  
  27. PROG=  smtpd
  28. VERS=  1
  29. # NB don't use $(REV) other than in DOS Commands unless specified as parameter
  30. REV=   `type smtpd_rev.rev`
  31.  
  32. ARCEXT=   lha
  33. DISTNAME= AmiTCP_$(PROG)$(VERS)-$(REV).$(ARCEXT)
  34. UUENAME=  AmiTCP_$(PROG)$(VERS)-$(REV).UUE
  35.  
  36. SRCS=  $(PROG).c 
  37. HDRS=  $(PROG).h
  38. OBJS=  $(PROG).o 
  39. DOCS=  $(PROG).8
  40. DIST=  AmiTCP:serv/in.$(PROG) AmiTCP:doc/$(PROG).doc uucp:c/rmail rmail.doc
  41. LIBS=  NETLIB:autoinitd.o LIB NETLIB:net.lib LIB NETLIB:logger.lib
  42. DEBUGLIBS= OBJ NETLIB:autoinitd.o OBJ NETLIB:serveraccept.go LIB NETLIB:net.lib LIB NETLIB:logger.lib
  43. ARCCOM= a
  44. ARCOPT= -xam
  45. UPOPTIONS=
  46.  
  47. CC=      sc
  48. LD=      sc
  49. MAKE=    smake
  50. TAGS=    etags
  51. RM=      delete quiet
  52. MKDIR=   makedir
  53. INSTALL= copy nopro dates all
  54. BUMPREV= BumpRev
  55. CAT=     type 
  56. ARCHIVE= lha
  57. UUE=     uuEncode
  58. UPLOAD=  DemonUpload
  59. UPDATERCS= UpdateRCS
  60. RCS=     RCS
  61. CO=      CO
  62.  
  63. DEST=    AmiTCP:
  64.  
  65. OPTFLAGS =   Optimize Stripdebug NoDebug
  66. DEBUGFLAGS = NoOptimize DEBUG=FULLFLUSH DEF=STANDALONE=1
  67.  
  68. CFLAGS = $(OPTFLAGS) 
  69.     
  70. IDIRS =  IDIR=Netinclude:
  71. DEFS =   DEF "RCS_ID_C=static char *rcsid" \
  72.      DEF NODB  #DEF STANDALONE 
  73. SCOPTIONS= STRINGMERGE STRUCTUREEQUIVALENCE \
  74.      NOSTACKCHECK NOMULTIPLEINCLUDES \
  75.      ERRORREXX \
  76.      NOERRORSOURCE NOVERSION NOERRORHIGHLIGHT \
  77.      SMALLCODE SMALLDATA \
  78.      MAP MAPHUNK MAPSYMBOLS MAPLIB MAPXREFERENCE \
  79.      LINKEROPTIONS=plain NOICONS BATCH \
  80.      OPTINL OPTTIME OPTCOMP=5 OPTDEP=5 OPTRDEP=5 \
  81.      $(DEFS) $(IDIRS) \
  82.      PARAMETERS=BOTH STARTUP=cres IGN=224 IGN=92 
  83.  
  84. all: $(PROG)
  85.  
  86. $(PROG): SCOPTIONS $(OBJS)
  87.     $(CC) LINK TO $@ OBJ $(OBJS) BATCH $(LIBS) $(CFLAGS)
  88.  
  89. debug:
  90.     @$(MAKE) "CFLAGS=$(DEBUGFLAGS)" "LIBS=$(DEBUGLIBS)" $(PROG)
  91.  
  92. .c.o:
  93.     -@$(RM) $*.o  > nil:
  94.     $(CC) $(CFLAGS) $*.c
  95.  
  96. $(PROG).o: $(PROG).c $(PROG).h
  97.     -$(BUMPREV) $(VERS) $(PROG)_rev
  98.     -@$(RM) $(PROG).o > nil:
  99.     $(CC) $(CFLAGS) $ $(PROG).c
  100.  
  101. SCOPTIONS: Smakefile
  102.     copy to $@ <from < 
  103. $(SCOPTIONS)
  104. <
  105.  
  106. install: all $(DEST)serv $(DEST)doc
  107.     $(INSTALL) $(PROG) $(DEST)serv/in.$(PROG)
  108.     protect $(DEST)serv/in.smtpd +p # Pure
  109.     @protect $(DEST)doc/$(PROG).doc +wd
  110.     $(CAT) $(DOCS) > $(DEST)doc/$(PROG).doc
  111.  
  112. freeze: rcsupdate
  113.     $(RCS) -sRel -NV$(VER)_$(REV): rcs/*
  114.     $(CO) -u rcs/*
  115.  
  116. rcsupdate:
  117.     $(UPDATERCS)
  118.  
  119. upload: dist
  120.     $(UPLOAD) $(DISTNAME) $(DEST)doc/$(PROG).doc $(UPOPTIONS)
  121.  
  122. $(UUENAME): $(DISTNAME)
  123.     -@$(RM) $(UUENAME) >nil:
  124.     $(UUE) $(DISTNAME) $(DISTNAME) >$(UUENAME)
  125.  
  126. uue:
  127.     @$(MAKE) $(UUENAME) REV=$(REV)
  128.  
  129. dist:
  130.     @$(MAKE) $(DISTNAME) REV=$(REV)
  131.  
  132. $(DISTNAME):
  133.     -@$(RM) $(DISTNAME) >nil:
  134.     $(ARCHIVE) $(ARCOPT) $(ARCCOM) $(DISTNAME) $(DIST) $(SRCS) $(HDRS) SMakefile
  135.  
  136. uploadtarget: $(DISTNAME)
  137.     $(UPLOAD) $(DISTNAME) $(DEST)doc/$(PROG).doc $(UPOPTIONS)
  138.  
  139. upload:
  140.     @$(MAKE) uploadtarget UPLOAD=DemonUpload REV=$(REV)
  141.  
  142. AmiTCP_$(PROG)$(VERS)-$(REV).readme: $(PROG).aminet-head $(PROG).8
  143.     join $(PROG).aminet-head $(PROG).8 AS AmiTCP_$(PROG)$(VERS)-$(REV).readme
  144.  
  145. aminetupload: $(PROG).aminet
  146.     @$(MAKE) uploadtarget AmiTCP_$(PROG)$(VERS)-$(REV).readme UPLOAD=AmiNetUpload REV=$(REV)
  147.  
  148. help:
  149.     @echo ""
  150.     @echo "Make file for $(PROG). Current version of $(PROG) is $(VERS).$(REV)"
  151.     @type <<
  152.  
  153. Valid make targets (apart from the obvious ones) are:
  154.   install:    makes new version in AmiTCP:serv
  155.   dist:       makes distribution archive
  156.   fulldist    makes distribution archive including source
  157.   uue:        makes uuencoded version of distribution
  158.   fulluue:    makes uuencoded version of full distribution
  159.   rcsupdate:  updates rcs (revision control files)
  160.   freeze:     update rcs files, and mark with current version.revision
  161.   upload:     send distribution to Demon
  162.  
  163. To produce a new release, issue the following commands:
  164.   make freeze
  165.   make upload
  166. <
  167.  
  168. $(DEST)serv:
  169.     -$(MKDIR) $@
  170. $(DEST)doc:
  171.     -$(MKDIR) $@    
  172.  
  173. TAGS:    $(SRCS)
  174.     $(TAGS) $(SRCS)
  175.  
  176. clean:
  177.     -$(RM) \#?.o \#?.map \#?.lnk SCOPTIONS
  178.  
  179. # DO NOT DELETE THIS LINE -- make depend depends on it.
  180. smtpd.o: smtpd.c
  181.